package com.lonty.vote.mapper.master;

import com.lonty.vote.model.VoteRecords;
import com.lonty.vote.request.VoteModel;
import com.lonty.vote.request.VoteTodayList;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * @Author 陈璇
 * @Date 2020/5/25 10:15
 * @Version 1.0
 */
@Mapper
public interface VoteRecordsMapper {

    /**
     * 保存投票记录
     * @param voteRecords
     * @return
     */
    int saveVoteRecords(VoteRecords voteRecords);

    /**
     * 获取用户当天投票记录
     * @param userId
     * @return
     */
    List<VoteRecords> getUserTodayRecords(String userId);

    /**
     * 统计投票内容票数
     * @param voteContentId
     * @return
     */
    int countVoteContent(Integer voteContentId);

    /**
     * 统计当天票数
     * @return
     */
    List<VoteTodayList> getVoteTodayList();

    /**
     * 根据投票内容ID和时间获取投票记录
     * @param voteContentId
     * @param time
     * @return
     */
    Integer getVoteModel(@Param("voteContentId") Integer voteContentId, @Param("time") String time);

    /**
     * 获取未备份投票记录
     * @return
     */
    List<VoteRecords> getBackupsVoteRecords();

    /**
     * 获取未备份投票记录Ids
     * @return
     */
    List<String> getBackupsVoteRecordsIds();

    /**
     * 批量修改投票记录为已备份
     * @param ids
     * @return
     */
    int modifyVoteRecordsBackups(@Param("ids") List<String> ids);

}
